****************Digisalt IPS-BugTracker 1.0 (c) 2007 by FloBo ***************

Author   : FloBo
Version  : 1.0
Date     : ??.??.2007

...

1. Disclaimer
2. Installation
3. Inhalt des Archivs
4. Beschreibung / Kurzanleitung
5. Tool history





1. Disclaimer

Dieses Programm hat keinerlei Relation zu irgendeinem Unternehmen. Es ist
lediglich ein kleines Tool, dass ich whrend der bersetzung von Lufia1 ins
Deutsche geschrieben habe. Es hat mir dabei geholfen einige hssliche Fehler
im IPS-Patch zu finden, die das Rom haben abstrzen lassen. Eigentlich sollte
das Tool nie verffentlicht werden und es ist auch weder hbsch aufpoliert,
noch fehlerfrei. Dennoch sollte es das tun, was in dieser Datei beschrieben
steht. Ich habe es vor kurzem auf einer alten Festplatte gefunden und keinen
Grund, es nicht zu verffentlichen. Da es nie komplett berarbeitet wurde,
habe ich den Quelltext des Tools mit beigefgt. Solltet ihr also irgendwelche
Fehler im Tool finden, knnt ihr - vorausgesetzt ihr knnt C programmieren -
die Fehler selbst beheben. Das ist auch das einzige, was ihr tun knnt. Ich
werde keine weiteren nderungen an diesem Tool vornehmen. Achso, natrlich
ist es mit diesem Tool, wie mit allen anderen Tools von mir: es gibt keiner-
lei Garantien, ob das Tool funktioniert, oder wie. Wenn ihr glaubt, es hat
euren PC beschdigt, ist das eure eigene Schuld. Niemand zwingt euch, dieses
Tool zu verwenden.


2. Installation

Fr dieses Tool gibt es keinen Installer. Extrahiert einfach die .exe-Datei
auf eurem Computer. Doppelklick auf die Datei zeigt lediglich die Anleitung
an, wie ihr das Programm richtig startet. Um es zu verwenden msst ihr per
Kommandozeile die entsprechenden Argumente beim Programmaufruf bergeben.


3. Inhalt des Archivs

In dem Archiv sollten genau vier Dateien vorzufinden sein.
_____________________________________________________
IpsBugTracker.exe.....das Programm
Liesmich.txt..........die deutsche Anleitung
Readme.txt............die englische Anleitung
main.c................der Quellcode
_____________________________________________________
Dieses Archiv darf kostenfrei und ohne weitere Erlaubnis weitergegeben werden,
sofern es nicht modifiziert wurde. Es ist nicht erlaubt, das Archiv zu ndern,
Dateien hinzu zu fgen oder zu entfernen und es weiter zu verbreiten, auer
es wurde eine Explizite erlaubnis dazu erteilt. Solltet ihr dennoch etwas am
Archivinhalt ndern wollen, bevor ihr es weiter verbreitet, schreibt bitte
eine Mail an
webmaster_at_digisalt_dot_de
Thema: ipsbugtracker

Wenn ihr den Quellcode des tools in euren eigenen Tools verwenden wollt, oder
eine modifizierte Version verffentlichen wollt, erwhnt mich bitte in den
Credits und benachrichtigt mich ber die oben angegebene Email-Adresse. Ich
bin immer gespannt zu sehen, was mit meiner Arbeit passiert :)


4. Beschreibung / Kurzanleitung

Dies ist die erste Version des Digisalt IPS-Bugtrackers. Ich schrieb dieses
Programm whrend ich Lufia & die Schicksalsfestung ins Deutsche bersetzte.
Wie bereits zuvor beschrieben war es zunchst nicht geplant, dieses Tool zu
verffentlichen, also erwartet bitte kein aufpoliertes und fehlerfreies
Programm (wobei es seinen Zweck fr mich bisher immer gut getan hat). Da ich
mich in Zukunft nicht mehr um die Weiterentwicklung des Tools kmmern werde,
ist dem Archiv der Quelltext des Tools beigefgt, sodass ihr - wenn ihr
irgendwelche Fehler finden solltet - die mglicherweise auftretenden Fehler
selbst beheben knnt. Das Tool kann euch beispielsweise helfen, wenn ihr das
folgende Problem habt. Stellt euch vor, ihr arbeitet an einer bersetzung,
einem Hack oder sonst etwas vergleichbarem und ihr habt bereits eine Menge
Arbeit in die Entwicklung gesteckt. Whrend dem Entwicklungsprozess habt ihr
bereits einige Zwischenversionen gespeichert, damit ihr immer ein Backup von
euren Daten habt. Pltzlich entdeckt ihr, dass das Spiel mittlerweile einen
Fehler enthlt. Mglicherweise ist dieser Fehler so kritisch, dass das Spiel
deshalb abstrzt und ihr habt keine Ahnung warum das so ist. In lteren
Versionen eures Spiels gab es dieses Problem noch nicht. Das heit, dass das
Problem wahrscheinlich in den von euch eingefhrten nderungen seinen Ur-
sprung hat. Um lediglich die Unterschiede zwischen der funktionierenden
und der fehlerhaften Version eures Roms zu isolieren, knnt ihr einen IPS
Patch erstellen. Je weniger Unterschiede die beiden Versionen haben, desto
kleiner wird auch der Patch sein. Ein weiteres Szenario, wo diese Tools
sinnvoll sein knnen, ist das folgende: nehmen wir an, ihr erstellt regel-
mig Backups eures Hacks/eurer bersetzung auf einem USB-Stick. Whrend dem
Kopieren der Daten wurden sie allerdings beschdigt, so dass zum Beispiel ein
einziges Byte des Roms fehlerhaft ist. Dieses einzelne Byte kann - wenn es
zum Beispiel ein Teil des Programmcodes ist - das gesamte Spiel abstrzen
lassen, ohne dass ihr wirklich etwas verndert habt. Um herauszufinden, was
der Grund fr den Absturz ist, knnt ihr auch hier wieder aus einer lteren,
fehlerfreien Version und der aktuellen Version einen IPS-Patch erstellen, um
die zu durchsuchenden Teile des Roms zu minimieren.
Mglicherweise gibt es noch wesentlich mehr Scenarios in denen dieses Pro-
gramm Sinnvoll sein kann. Jedenfalls werdet ihr eine funktionierende Version
eures Roms, sowie einen IPS-Patch der den Fehler einfgt bentigen. Wie ihr
vielleicht wisst (oder auch nicht), sind IPS-Patches aus mehreren Records
aufgebaut. Jeder dieser Records ist entweder ein regulrer Eintrag der Form
"schreibe die folgenden ABC bytes an Adresse XYZ" oder er ist ein RLE Eintrag
der Form "schreibe das Byte A XYZ mal in das Rom ab der Adresse X". Jeder IPS
Patch ist so strukturiert und im Optimalfall ist es lediglich ein einziger,
dieser Records, der fr den Absturz eures Spiels verantwortlich ist. Dieses
Programm kann euch helfen, den entsprechenden IPS Record zu finden und heraus-
zufinden, welche Bytes im Rom den Fehler verursachen.
Der Prozess ist halb-automatisch. Nehmen wir an, wir haben einen IPS-Patch
mit sieben Records. Das Programm wird das Rom nehmen, in dem der Fehler noch
nicht aufgetreten ist und es mit der ersten Hlfte der Records (1 - 4)
patchen. Nachdem eine gepatchte Kopie des Roms erstellt wurde, wird es euch
auffordern diese Kopie mit dem Emulator eurer Wahl zu testen, ob der Fehler
immernoch auftritt (zu diesem Zweck kann es sinnvoll sein, einen Savestate
des Emulators zu haben, der den Zustand enthlt kurz bevor der Fehler tat-
schlich auftritt). Ist der Fehler im aktuellen Testlauf aufgetreten, knnt
ihr dies durch die Taste y (fr yes, also ja, der Fehler trat wieder auf)
drcken. Andernfalls drckt ihr die Taste n (fr nein, der Fehler trat dies-
mal nicht mehr auf). Nehmen wir an, der Fehler trat nicht mehr auf. Das
bedeutet: die Records eins bis vier waren nicht die Ursache des Problems.
Daraufhin wird das Programm erneut das fehlerfreie Rom mit einem Teil der
IPS Records patchen. Da wir aber nun herausgefunden haben, dass die ersten
vier Records ok waren, wird lediglich die andere Hlfte der Records in
Betracht gezogen. Um direkt noch einen Schritt weiter zu gehen, wird auer-
dem lediglich die erste hlfte der restlichen Records gepatcht. Danach
werdet ihr wieder gefragt, ob im aktuellen Test des Roms der Fehler aufge-
treten ist oder nicht. Abhngig von euren weiteren Antworten werden immer
wieder neu gepatchte Roms erstellt, die zu testen sind, bis lediglich die
fehlerhaften Records brig sind.
Optisch kann man sich den Prozess in etwa so vorstellen

IPS-Records whrend dem ersten Durchlauf:

  1               n/2  n/2+1             n      
  |XXXXXXXXXXXXXXXXXX||------------------|

IPS-Records whrend dem zweiten Durchlauf (wenn ja (yes) gewhlt wurde):
  
  1     n/4  n/4+1  n/2
  |XXXXXXXX||--------|--------------------

IPS-Records whrend dem zweiten Durchlauf (wenn nein gewhlt wurde):

                    n/2+1 3*n/4 3*n/4+1  n
  --------------------|XXXXXXXX||--------|

Dieser Prozess wird so oft durchlaufen, bis im Optimalfall nurnoch ein
einziger IPS Record brig ist. Die Daten dieses Records werden dann auf
der Kommandozeile ausgegeben zusammen mit der Information, an welcher
Adresse im Rom die fehlerhaften Daten eingefgt werden. Der Prozess des
Programms wurde gewhlt um eine mglichst geringe Anzahl an Durchgngen
zu verwenden und euch mit mglichst wenigen Aufforderungen y oder n zu
drcken zu nerven.


5. Tool history

Digisalt IPS-BugTracker 1.0 - 20.12.2009 - erste Verffentlichung


*******************************End of file**********************************
